import time
from public.action import *
from public.business import *
from public.testData import *
from public.tools import *

testCase = 'DBshop006_删除取消订单流程'

# 问题:该搜索后如果只有一条数据,删除后这个断言就会直接失败,如何进行修改断言?
# 打开前台网页登录
firefox = openBrowser(urlAdmin)
DBshopLoginAdmin(firefox)
# 1.点击销售管理订单管理界面。
DBshopEnterMenu2(firefox, '销售管理', '订单管理')
# 2.在订单状态点击已取消一栏，点击“搜索”按钮一款，勾选之后，选择删除，点击提交操作。
firefox.find_element_by_xpath('//select[@id="order_state"]/option[2]').click()
firefox.find_element_by_xpath('//button[contains(.,"搜索")]').click()

# 获取订单编号
orderNO = firefox.find_element_by_xpath('(//tbody[1]/tr[2]/td[2])').text
rootPath = get_pro_rootpath()
writeFile(rootPath + '\public\order1.txt', orderNO)  # 将订单编号写入到文件中

# 勾选第一条数据
firefox.find_elements_by_name('order_id[]')[0].click()
firefox.find_element_by_xpath('//select[@id="allEdit"]/option[2]').click()
# 3.删除成功
firefox.find_element_by_xpath('//button[contains(.,"提交操作")]').click()
firefox.switch_to.alert.accept()

firefox.find_element_by_xpath('//select[@id="order_state"]/option[2]').click()
firefox.find_element_by_xpath('//button[contains(.,"搜索")]').click()

try:
    firefox.find_element_by_xpath(orderNO).is_displayed()
    #firefox.assertTextNotPresent(orderNO, writeLog("%s 测试通过" % testCase))  # .assertTextPresent判断页面有这个文本/.assertTextNotPresent判断页面没有这个文本
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)
except:
    writeLog("%s 测试成功" % testCase)
firefox.quit()
